package com.zhuiYun.project.api.appletshoppingcart.entity;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

import javax.persistence.*;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @author lyp
 * @className AppletShoppingCart
 * @description TODO
 * @date 2023/4/5 9:38
 */
@Data
@ToString
@NoArgsConstructor
@AllArgsConstructor
@Table(name = "shopping_cart")
public class AppletShoppingCartEntity implements Serializable {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;

    /**
     * 加入购物车时间
     */
    private Date addToCartDate;

    /**
     * 购买人id
     */
    private Integer userId;

    /**
     * 商品id
     */
    private Integer commodityId;

    /**
     * 商家名称
     */
    private String businessName;


    /**
     * 商品总价
     */
    private BigDecimal totalPrices;

    /**
     * 退换货政策
     */
    private String returnAndExchangePolicy;


    /**
     * 商品数量
     */
    private Integer number;

    /**
     * 是否选中商品标志 true为选中 false为未选中
     */
    private String flag;

    /**
     * 是否是diy 0是商品 1为diy
     */
    private Integer isNoDiy;

    /**
     * diyId
     */
    private Integer diyId;

    /**
     * 商品属性
     */
    private String  commoditySpec;

    /**
     * 删除标志
     */
    private Integer delFlag;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 修改时间
     */
    private Date updateTime;

    /**
     * 购物车总数量
     */
    @Transient
    private Integer total;

    /**
     * 物品是否选中类型id
     */
    @Transient
    private Integer typeId;

    /**
     * 两表联查物品名称
     */
    @Transient
    private String commName;

    /**
     * 两表联查图片id
     */
    @Transient
    private String imgId;

    /**
     * 两表联查指定价格
     */
    @Transient
    private BigDecimal price;

    /**
     * 两表联查最终价格
     */
    @Transient
    private BigDecimal favPrice;

    /**
     * 两表联查商品备注
     */
    @Transient
    private String back;

    /**
     * 两表联查商品删除状态 0为未删除，1为已删除
     */
    @Transient
    private Integer dFlag;

    /**
     * diy名称
     */
    @Transient
    private String diyName;

    /**
     * diy原价
     */
    @Transient
    private BigDecimal diyPrice;

    /**
     * diy最后价
     */
    @Transient
    private BigDecimal diyFavorablePrice;

    /**
     * diy图片
     */
    @Transient
    private String diyImageId;

    /**
     * diy删除标志
     */
    @Transient
    private Integer deFlag;

    /**
     * 用户结算时商品总钱数
     */
    @Transient
    private BigDecimal shoppingPriceSum;

    /**
     * 用户结算时diy总钱数
     */
    @Transient
    private BigDecimal shoppingDiyPriceSum;

}
